# Darren
# 2025年02月20日19时30分56秒
class Tool:
    # 使用赋值语句，在类内对象方法外定义类属性，记录创建工具对象的数目
    count = 0

    def __init__(self, name):
        self.name = name
        Tool.count += 1  # 修改类变量的值

    @classmethod  # 修饰器表示类方法
    def show_tool_count(cls):  # cls 类  类似于对象方法中的self
        print(cls.count)

    @staticmethod  # 修饰器表示静态方法 不需访问类和对象的属性和方法
    def help():
        print("游戏帮助")


if __name__ == '__main__':
    # 创建工具对象
    tool1 = Tool("斧头")
    tool2 = Tool("榔头")
    tool3 = Tool("铁锹")
    print(Tool.count)
    print(tool3.count)  # 对象tool3无count属性，自动访问类属性
    # tool3.count = 99 # 增加了一个对象属性 -> 不要借对象访问类属性
    Tool.show_tool_count()
    Tool.help()